import { Router } from 'express';
import { auth, authconf, relaction } from '../service/auth/__init__';
import { ParameterError, AuthError } from '../utils/classModal';
const router = Router();

// params-id 验证
router.param('id', (req, res, next, id) => {
	if (!/^(\d+)$/.test(id)) throw new ParameterError();
	next();
});

// 所有用户使用
router.get('/u', relaction.ugetauth); // 当前权限

/**
 * ================ super 管理员接口 ===============
 *
 * 权限配置相关
 *
 * ================================================
 */

router.use((req, { locals: { level } }, next) => {
	if (level !== 999) throw new AuthError();
	next();
});

router
	.route('')
	.get(auth.getlist) // 列表
	.post(auth.add); // 增加
router
	.route('/:id')
	.get(auth.getdetail) // 详情
	.put(auth.change) // 改
	.delete(auth.delete); // 删

// 配置权限价格 - 管理员
router.post('/conf', authconf.add); // 增加
router
	.route('/conf/:id')
	.put(authconf.change) // 修改
	.delete(authconf.delete); // 删除

// 白送权限
router.post('/give/:u_id/:auth_id/:effective', relaction.supermake);

module.exports = router;
